<!DOCTYPE html>
<html class="x-admin-sm">
  
  <head>
    <meta charset="UTF-8">
    <title>欢迎页面-X-admin2.2</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
    <link rel="stylesheet" href="__STATIC__/admin/css/font.css">
    <link rel="stylesheet" href="__STATIC__/admin/css/xadmin.css">
    <script type="text/javascript" src="__STATIC__/admin/lib/layui/layui.js" charset="utf-8"></script>
    <script type="text/javascript" src="__STATIC__/admin/js/xadmin.js"></script>
    <!-- 让IE8/9支持媒体查询，从而兼容栅格 -->
    <!--[if lt IE 9]>
      <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
      <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  
  <body>
    <div class="layui-fluid">
        <div class="layui-row">
            <form action="" method="post" class="layui-form layui-form-pane">
                <div class="layui-form-item">
                    <label for="role_name" class="layui-form-label">
                        <span class="x-red">*</span>角色名
                    </label>
                    <div class="layui-input-inline">
                        <input type="text" id="role_name" name="role_name" required="" lay-verify="required" value="{$info.role_name}"
                        autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item layui-form-text">
                    <label class="layui-form-label">
                        拥有权限
                    </label>
                    <table  class="layui-table layui-input-block">
                        <tbody> 
                            {volist name="data" id="vo"}
                            {eq name="$vo.parent_id" value="0"}
                            <tr>
                                <td>
                                    <input type="checkbox" name="rule_id[]" lay-skin="primary" lay-filter="checkall" title="{$vo.rule_name}" value="{$vo.id}" {if condition="in_array($vo.id,$rule_id)"}checked{/if}>
                                </td>
                                <td>
                                    {volist name="data" id="v"}
                                    {eq name="$v.parent_id" value="$vo.id"}
                                        <input name="rule_id[]" lay-skin="primary" type="checkbox" title="{$v.rule_name}" value="{$v.id}" {if condition="in_array($v.id,$rule_id)"}checked{/if}> 
                                    {/eq}
                                    {/volist}
                                </td>
                            </tr>
                            {/eq}
                            {/volist}
                        </tbody>
                        
                    </table>
                </div>
                <div class="layui-form-item layui-form-text">
                    <label for="content" class="layui-form-label">
                        描述
                    </label>
                    <div class="layui-input-block">
                        <textarea placeholder="请输入内容" id="content" name="content" class="layui-textarea">{$info.content}</textarea>
                    </div>
                </div>
                <div class="layui-form-item">
                <button class="layui-btn" lay-submit="" type="button" lay-filter="edit">修改</button>
              </div>
            </form>
        </div>
    </div>
    <script>
        layui.use(['form','layer'], function(){
            $ = layui.jquery;
          var form = layui.form
          ,layer = layui.layer;

          //监听提交
          form.on('submit(edit)', function(data){
            console.log(data);
            $.post("{:url('Role/edit')}?id={$info.id}",{data:filterData(data.field)},function(data){
                if(data.code == 1){
                    layer.alert("修改成功", {icon: 6},function () {
                        // 获得frame索引
                        var index = parent.layer.getFrameIndex(window.name);
                        //关闭当前frame
                        parent.layer.close(index);
                        xadmin.father_reload();
                    });
                }else{
                    layer.msg(data.msg)
                }
            });
            
            // return false;
          });

          filterData = function (data) {
                    var roleListIds = {};
                    var temp = {};
                    for (var key in data) {
                        if (key.indexOf("[") === -1) {
                            roleListIds[key] = data[key];
                        } else {
                            temp[key] = data[key];
                        }
                    }

                    var temp_arr = [];
                    for (var key in temp) {
                        var _arr = key.split("[");
                        var field = _arr[0];
                        if (temp_arr.indexOf(field) === -1) {
                            temp_arr.push(field);
                        }
                    }

                    for (var i in temp_arr) {
                        var _f = temp_arr[i];
                        var _temp = [];
                        for (var k in temp) {
                            // console.log(k);
                            if (k.indexOf(_f) !== -1) {
                                _temp.push(temp[k])
                            }
                        }
                        roleListIds[_f] = _temp;
                    }
                    return roleListIds;
                };

        form.on('checkbox(checkall)', function(data){

            if(data.elem.checked){
                // console.log($(data.elem).parent().siblings('td').find('input').find(".{$vo.parent_id}"))
                $(data.elem).parent().siblings('td').find('input').prop("checked", true);
                form.render(); 
            }else{
               $(data.elem).parent().siblings('td').find('input').prop("checked", false);
                form.render();  
            }
        });
          
          
        });
    </script>
    
  </body>

</html>